package com.bkgy.modularbx.rule_edit.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.util.Date;

/**
 * 规则编辑更新数据传输对象，用于接收和传递规则编辑更新的相关信息。
 */
@Data
@Schema(description = "规则编辑更新DTO")
public class RuleEditUpdateDto {
    /**
     * 主键ID
     */
    @Schema(description = "主键ID")
    private Integer indocno;

    /**
     * 产线
     */
    @Schema(description = "产线")
    @NotBlank(message = "产线不能为空")
    private String productionLine;

    /**
     * 计算结果变量名
     */
    @Schema(description = "计算结果变量名")
    @NotBlank(message = "计算结果变量名不能为空")
    private String calcResultVariable;

    /**
     * 计算结果变量名中文
     */
    @Schema(description = "计算结果变量名中文")
    @NotBlank(message = "计算结果变量名中文不能为空")
    private String processRuleDescription;

    /**
     * 数据采集/字典中需要计算特征值的变量
     */
    @Schema(description = "数据采集/字典中需要计算特征值的变量")
    @NotBlank(message = "数据采集/字典中需要计算特征值的变量不能为空")
    private String dicVariableNameCalc;

    /**
     * 变量名（数据采集中原始变量名）
     */
    @Schema(description = "变量名（数据采集中原始变量名）")
    @NotBlank(message = "变量名不能为空")
    private String l1VariableName;

    /**
     * 规则编辑器
     */
    @Schema(description = "规则编辑器")
    @NotBlank(message = "规则编辑器不能为空")
    private String ruleEditor;

    /**
     * 规则名称
     */
    @Schema(description = "规则名称")
    @NotBlank(message = "规则名称不能为空")
    private String ruleName;

    /**
     * 头尾数据处理标识
     */
    @Schema(description = "头尾数据处理标识")
    private String dataBegin;

    /**
     * 头尾数据处理标识
     */
    @Schema(description = "头尾数据处理标识")
    private String dataEnd;

    /**
     * 数据处理标识
     */
    @Schema(description = "数据处理标识")
    private String dataBegin1;

    /**
     * 去掉曲线头部米数后计算特征值
     */
    @Schema(description = "去掉曲线头部米数后计算特征值")
    private Integer headMove;

    /**
     * 去掉曲线尾部米数后计算特征值
     */
    @Schema(description = "去掉曲线尾部米数后计算特征值")
    private Integer tailMove;

    /**
     * 创建时间
     */
    @Schema(description = "创建时间")
    private Date toc;
}